import ACCESS_ENUM from "@/access/accessEnums";

/**
 * 检查权限
 * @param loginuser
 * @param needAccess
 */
const  checkAccess = (loginuser: API.LoginUserVO,
                      needAccess: string = ACCESS_ENUM.NOT_LOGIN) => {
    // 获取当前登录用户, 如果没有登录默认没有权限
    const loginUserAccess = loginuser?.userRole ?? ACCESS_ENUM.NOT_LOGIN
    // 如果当前许需要任何权限
    if (needAccess === ACCESS_ENUM.NOT_LOGIN){
        return true;
    }
    // 如果需要登录
    if (needAccess == ACCESS_ENUM.USER){
        // 如果当前用户未登录，表示无权限
        if (loginUserAccess === ACCESS_ENUM.NOT_LOGIN){
            return false;
        }
    }
    // 如果需要管理员才能访问
    if (needAccess === ACCESS_ENUM.ADMIN){
        // 必须要有管理员权限
        if (loginUserAccess !== ACCESS_ENUM.ADMIN){
            return false;
        }
    }
    return true;
}
export default checkAccess;
